/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package rentalmobil.entity;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import rentalmobil.koneksidatabase.koneksiDataBase;

/**
 *
 * @author Henfryandie
 */
public class sewa_mobil {

    int no_sewa;
    String namaPenyewa;
    String alamatPenyewa;
    String jaminan;
    Date tanggalSewa;
    Date tanggalKembali;
    String no_plat_mobil;

    public sewa_mobil() {
    }

    public sewa_mobil(int no_sewa, String namaPenyewa, String alamatPenyewa, String jaminan, Date tanggalSewa, Date tanggalKembali) {
        this.no_sewa = no_sewa;
        this.namaPenyewa = namaPenyewa;
        this.alamatPenyewa = alamatPenyewa;
        this.jaminan = jaminan;
        this.tanggalSewa = tanggalSewa;
        this.tanggalKembali = tanggalKembali;
    }

    public int getNo_sewa() {
        return no_sewa;
    }

    public void setNo_sewa(int no_sewa) {
        this.no_sewa = no_sewa;
    }

    public String getAlamatPenyewa() {
        return alamatPenyewa;
    }

    public void setAlamatPenyewa(String alamatPenyewa) {
        this.alamatPenyewa = alamatPenyewa;
    }

    public String getJaminan() {
        return jaminan;
    }

    public void setJaminan(String jaminan) {
        this.jaminan = jaminan;
    }

    public String getNamaPenyewa() {
        return namaPenyewa;
    }

    public void setNamaPenyewa(String namaPenyewa) {
        this.namaPenyewa = namaPenyewa;
    }

    public Date getTanggalKembali() {
        return tanggalKembali;
    }

    public void setTanggalKembali(Date tanggalKembali) {
        this.tanggalKembali = tanggalKembali;
    }

    public Date getTanggalSewa() {
        return tanggalSewa;
    }

    public void setTanggalSewa(Date tanggalSewa) {
        this.tanggalSewa = tanggalSewa;
    }

    public String getNo_plat_mobil() {
        return no_plat_mobil;
    }

    public void setNo_plat_mobil(String no_plat_mobil) {
        this.no_plat_mobil = no_plat_mobil;
    }

    //method ini digunakan untuk menginsertkan data sewa mobil ke dalam database
    public boolean insertSewaMobil() throws SQLException {
        PreparedStatement ps = koneksiDataBase.getConnection().prepareStatement("INSERT INTO sewa_mobil(nama_penyewa,alamat_penyewa,jaminan,tanggal_sewa,tanggal_kembali,no_plat_mobil) VALUES (?,?,?,?,?,?)");
        ps.setString(1, getNamaPenyewa());
        ps.setString(2, getAlamatPenyewa());
        ps.setString(3, getJaminan());
        ps.setDate(4, new java.sql.Date(getTanggalSewa().getTime()));
        ps.setDate(5, new java.sql.Date(getTanggalKembali().getTime()));
        ps.setString(6, getNo_plat_mobil());
        ps.executeUpdate();
        return true;
    }

    public List<sewa_mobil> viewSewaMobil() throws SQLException{
        Statement st = koneksiDataBase.getConnection().createStatement();
        ResultSet rs = st.executeQuery("SELECT * FROM sewa_mobil;");
        List<sewa_mobil> list = new ArrayList<sewa_mobil>();
        while(rs.next()){
            sewa_mobil sM = new sewa_mobil();
            sM.setNo_sewa(rs.getInt("no_sewa"));
            sM.setNamaPenyewa(rs.getString("nama_penyewa"));
            sM.setAlamatPenyewa(rs.getString("alamat_penyewa"));
            sM.setJaminan(rs.getString("jaminan"));
            sM.setTanggalSewa(rs.getDate("tanggal_sewa"));
            sM.setTanggalKembali(rs.getDate("tanggal_kembali"));
            sM.setNo_plat_mobil(rs.getString("no_plat_mobil"));
            list.add(sM);
        }
        return list;
    }
}
